//package com.coffee.cmt;
//
//
//import org.apache.flink.api.common.functions.FlatMapFunction;
//import org.apache.flink.api.java.DataSet;
//import org.apache.flink.api.java.ExecutionEnvironment;
//import org.apache.flink.api.java.tuple.Tuple2;
//import org.apache.flink.api.java.utils.ParameterTool;
//import org.apache.flink.util.Collector;
//
//public class WordCount {
//
//    public static void main(String[] args) throws Exception {
//        // 从参数中获取执行模式（本地或集群），默认本地执行
////        final ParameterTool params = ParameterTool.fromArgs(args);
////        final boolean isLocal = params.getBoolean("local", true);
//
//        // 创建执行环境
//        final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
//
//        // 示例输入数据
//        DataSet<String> text = env.fromElements(
//                "Hello Flink", "Apache Flink example", "Word Count example", "Hello world"
//        );
//
//        // 计算每个单词的出现次数
//        DataSet<Tuple2<String, Integer>> counts = text
//                .flatMap(new Tokenizer())
//                .groupBy(0)
//                .sum(1);
//
//        // 打印结果
//        counts.print();
//
//        // 执行程序
//        env.execute("WordCount Example");
//    }
//
//    // 分词器
//    public static class Tokenizer implements FlatMapFunction<String, Tuple2<String, Integer>> {
//        @Override
//        public void flatMap(String value, Collector<Tuple2<String, Integer>> out) {
//            // 按空格分割字符串，并输出每个单词的出现次数为 1
//            for (String word : value.split("\\s")) {
//                out.collect(new Tuple2<>(word, 1));
//            }
//        }
//    }
//}
